package com.redeemer150.aisuperagent.tools;


import cn.hutool.core.io.FileUtil;
import com.redeemer150.aisuperagent.constant.FileConstant;
import org.springframework.ai.tool.annotation.Tool;
import org.springframework.ai.tool.annotation.ToolParam;

/**
 * @author 炼金术士
 * @version 1.0
 * @description: TODO
 * @date 2025/7/21 21:59
 */
public class FileOperationTool {
    private final String FILE_DIR = FileConstant.FILE_SAVE_DIR + "/file";

    @Tool(description = "Read content from file")
    public String readFile(String fileName) {
        String filePath = FILE_DIR + "/" + fileName;
        try {
            return FileUtil.readUtf8String(filePath);
        } catch (Exception e) {
            return "Error reading file: " + e.getMessage();
        }
    }

    public String writeFile(@ToolParam(description = "Name of the file to write") String fileName, @ToolParam(description = "Content to write to the file") String content) {
        String filePath = FILE_DIR + "/" + fileName;
        try {
            FileUtil.mkdir(FILE_DIR);
            FileUtil.writeUtf8String(content, filePath);
            return "File written successfully to" + filePath;
        }catch (Exception e) {
            return "Error writing file: " + e.getMessage();
        }
    }
}
